1. Field of the Invention
The present invention relates to a parallel processor system, and more particularly to a parallel processor system suitable for reception control of a packet to be transferred between processor units and capable of controlling a received packet without intercepting transfer of other packets when there is no space area in a reception buffer.
2. Description of the Related Art
If a full crossbar switch network is used for a parallel processor system, a packet can be transferred between arbitrary processor units by using a minimum number of switch stages. However, a full crossbar switch network becomes difficult to be configured if the number of processor units increases. A multistage switch network is therefore often used in such a case.
Wormhole routing having latency less than store-and-forward is often used for network routing, as described in "Routing Method for Interconnecting Network of Parallel Computers AP1000", Proceedings of the Institute of Electronics, Information and Communications Engineers of Japan, D-I, Vol. J75-D-I, No. 8, at pp. 600-606. This wormhole routing does not establish whole paths for packet transfer, but it establishes a particular path (switch) only during the period while all packets including the start and end packets pass therethrough.
Packet reception control for a parallel processor system has been proposed as described in "High Speed Message Handling Mechanism", Proceedings of Information Processing Society of Japan, Vol. 34, No. 4, at pp. 638-646. With this technique, each message is received asynchronously by providing each processor unit with a ring buffer. The ring buffer is managed by a base register (BASE), a write pointer (WTP), and a read pointer (RDP). BASE indicates a start address of the ring buffer. WTP indicates an address at which next received data is written. RDP indicates an address to which a CPU accesses presently. CPU can write arbitrary data in RDP.
If both WTP and RDP indicate the same address, it means that the ring buffer has no space area. If they indicate the same address, an interrupt is issued to CPU to suspend reception of a packet until the ring buffer provides a space area.
With this conventional technique, if there is no space area in the ring buffer, an interrupt is issued to CPU and packet reception is suspended until the ring buffer provides a space area. However, this technique does not teach how a packet is processed which reached the processor unit under packet reception suspension. If reception suspension means that a received packet is caused to stand by at the input port of the processor unit, the packet stays resident on the network. In the case of wormhole routing, the packet stays resident on the network while establishing its path.
The conventional techniques do not take the above points into consideration. If there is any packet suspended at a path of one processor unit, another packet using this path cannot be transferred between other processor units. Therefore, the other packet is caused to stand by at the input port of the path until it becomes usable. Under traffics of frequent packet transfers, a number of packets are intercepted and cannot be transferred between processor units.
In another case, if a received packet cannot be written in a reception buffer because of failures of read circuits or read software, the path used by the packet cannot be used by other packets. Also in this case, a number of packets are intercepted and cannot be transferred between processor units.